home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 25
/
AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso
/
Updates
/
PowerPC
/
pdflib
/
doc
/
changes.txt
next >
Wrap
Text File
|
2000-05-16
|
34KB
|
713 lines
V2.01 (August 3, 1999)
=====================
New features and API
====================
- Extends the JPEG reader to allow for progressive JPEG images which are
supported in PDF 1.3/Acrobat 4 (p_jpeg.c).
- Applies a workaround for Photoshop-generated CMYK JPEG images. The
algorithm is taken from my jpeg2ps utility: detect the Adobe marker,
and write a suitable /Decode array to invert the 4 color planes (p_image.c).
- Introduces the concept of a "default" encoding which evaluates to
macroman or winansi according to the current platform. This facilitates
writing identical test programs for all platforms. All samples except
those for Visual Basic (which is Windows-only) have been adjusted to use
the default encoding.
- Streamlines the image file interface in several ways: (pdflib.h, p_intern.h,
p_image.c, p_gif.c, p_tiff.c, p_jpeg.c, p_ccitt.c, p_basic.c,
bind/vb/pdflib_vb.idl, bind/vb/pdflib_vb.def, clients/pdfimage.c,
bind/cpp/pdflib.[h|c]pp, test/pdftest.c).
- Removes PDF_place_inline_image() since it doesn't seem to bring any
real advantage to PDFlib clients.
- Removes PDF_put_image() since the image data is "parked" in the ouput
immediately on PDF_open_*(). The /Name key is no longer in Xobjects
since it was only required by PDF 1.0.
- Removes PDF_execute_image(). Instead, PDF_place_image() can now be
called multiple times for re-using image data.
- Consolidates all pdf_close_*() functions in PDF_close_image. All
image-specific stuff is now done at the end of PDF_open_*().
- PDF_open_*() (along with the newly implied pdf_put_image()) is now
allowed outside of page descriptions. This requires pdf_put_image()
to do a pdf_begin_contents_section() in some cases.
- Adds several symbolic names for new destination zoom values in
PDF_add_pdflink() and PDF_add_locallink() (p_annots.c).
- Added an undocumented hook for placing existing images as thumbnail
for the current page. This is for a specialized application and is
not supported at the scripting layer (p_image.c, p_image.c, p_intern.h).
- Changed PDF_open_memory_image() to PDF_open_image(). This makes memory
images accessible from the scripting languages, and adds support for
file and url references as placeholders for the actual image data
(pdflib.h, p_image.h, p_intern.h, bind/vb/pdflib_vb.idl, bind/cpp/pdflib.hpp,
bind/cpp/pdflib.cpp).
Bug fixes and enhancements
==========================
- A static resource configuration file (pdflib.upr) was always opened
when the client dynamically added resources. We skipped the file open
step since it's well reasonable to work with dynamic configuration
exclusively (p_util.c).
- Fixes a crash due to an uninitialized member of the PDF struct
(resourcefile_loaded). The bug showed up when trying to use non-standard
fonts (p_basic.c).
- Added a number of casts to avoid assignments to variables which are
never used. This basically affected the contents of comment and notice
lines in AFM files, which are not being used (p_afmparse.c).
- Merged the metrics files for macroman and winansi core metrics
(p_metrics_win.h, p_metrics_mac.h) to a single file (p_metrics.h,
p_font.c, Makefile.in, pdflib/Makefile.in, PDFlib.hqx, *.dsp)
- Makes DLLMain only visible when PDFLIB_EXPORTS is defined (p_basic.c).
- Changed the default page transition duration to 0 in order to avoid
unnecessarily writing the duration key to all page dictionaries (p_hyper.c).
- Changes to example path prefix in pdflib.upr to make it clearer that
the upr file has to be adjusted before it can be used (fonts/pdflib.upr).
- The debug flags didn't work due to a typo (p_basic.c).
- Debug flag 'u' (don't unlink PDF file on error) was implemented the wrong
way, and didn't match the documentation (p_basic.c).
- Improves the memory management by avoiding "semi-allocated" aggregated
objects. This involves subtle changes around the realloc() calls,
and cleaner initialization of the reallocated data. The benefit of this
shows up in memory-out situations when the error handler pops in and tries
to free memory blocks which are not completely initialized. This may
especially happen in multi-threaded environments (p_intern.h, p_basic.c,
p_font.c, p_images.c, p_hyper.c).
- Fixes some inconsistencies related to link border style, color, and
destination zoom (p_annots.c).
- Removed the beveled, inset, and underlined link border styles since they
don't work as advertised in the PDF specification (p_annots.c, pdftest.c).
- Improves the handling of XObject resources: formerly all Xobjects used
in the document up to the current page had been placed in the page's
resource list, potentially cluttering up the print stream generated for
the PDF. Now we only list the XObjects which are actually used on the
current page. This change will not affect Acrobat's viewing behavior.
- The bpc and components values of TIFF image weren't always properly
reported by TIFFlib. We improved this by using TIFFGetFieldDefaulted()
instead of TIFFGetField() for retrieving these (p_tiff.c).
Build process, distribution, and platform support
=================================================
- Several improvements in the configure machinery (configure.in, Makefile.in):
- Added a --without-cxx option to the configure script in order to make
life easier on systems where the C++ is not correctly recognized.
- The include and lib paths for perl/zlib/tifflib shown with
"configure --help" had some differences from the actual spelling of
the supported options.
- Included a number of changes to the configure script required to make
the shared library versioning work on NetBSD systems.
- The --with-perlincl option for configure didn't work.
- Added a number of conditionals for the Cygwin environment.
- Always puts the version number in the file names of the shared and
static PDFlib libraries. Previously the static library ended up without
a version number in its name, possibly leading to mismatches with later
versions.
- Introduces configure variables for the names of the shared and static
libraries. This allows us to easily build the "other" library (as opposed
to the one specified when configure was run) as well.
- Removes the -g option from all Makefiles (pdflib/Makefile.in,
clients/Makefile.in, util/Makefile.in, bind/c/Makefile.in,
bind/cpp/Makefile.in, test/Makefile.in)
- The util Makefile is no longer called by default since the utility programs
are currently not needed by ordinary library users (Makefile.in).
- Notes that the util Makefile needs an installed PDFlib library
(util/Makefile.in).
- Assorted changes suggested for supporting the Cygwin32 development
environment. These involved several Makefile.in files, configure.in, and
C source modules which make use of getopt(). Most of the changes enhanced
the configuration machinery for other systems, too.
- Removes the install targets for the C and C++ bindings in the main
Makefile since those targets weren't used anyway (Makefile.in).
- Changes the $@.$(OBJ) construct in all Makefiles to the actual name of
the object (we don't want to use $< since it doesn't work everywhere)
(*/Makefile.in, bind/Makefile.in).
- Removed a leftover text file (util/readme.txt).
- Cleaned up the configuration information in the MSVC project files.
Most projects now only support a "Release" configuration; only pdflib
and test have "Debug" configurations, too (pdflib.dsp, bind/*/*.dsp).
- Includes a separate project for building PDFlib as a static library
with MSVC.
- Better supports the Mac distribution (Makefile.in):
- Changes the CodeWarrior project file name suffix from the odd mu
character to the more Unix-friendly .mcp. Since the project file
doesn't contain a resource fork, there's no need to use binhex (.hqx)
encoding.
- Convert the lineends in all relevant text files to the Mac convention.
- Implements a procedure for setting the correct file types for all
relevant files (uses a utility program on the Mac).
- Makes a self-extracting distribution fileset for the Mac.
- Ch